home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / mozilla-firefox / include / layout / nsISVGPathGeometrySource.h < prev    next >
C/C++ Source or Header  |  2006-05-08  |  5KB  |  176 lines

  1. /*
  2.  * DO NOT EDIT.  THIS FILE IS GENERATED FROM nsISVGPathGeometrySource.idl
  3.  */
  4.  
  5. #ifndef __gen_nsISVGPathGeometrySource_h__
  6. #define __gen_nsISVGPathGeometrySource_h__
  7.  
  8.  
  9. #ifndef __gen_nsISVGGeometrySource_h__
  10. #include "nsISVGGeometrySource.h"
  11. #endif
  12.  
  13. /* For IDL files that don't want to include root IDL files. */
  14. #ifndef NS_NO_VTABLE
  15. #define NS_NO_VTABLE
  16. #endif
  17. class nsISVGRendererPathBuilder; /* forward declaration */
  18.  
  19.  
  20. /* starting interface:    nsISVGPathGeometrySource */
  21. #define NS_ISVGPATHGEOMETRYSOURCE_IID_STR "73c9350e-6b0b-4458-aa24-aa5333476eff"
  22.  
  23. #define NS_ISVGPATHGEOMETRYSOURCE_IID \
  24.   {0x73c9350e, 0x6b0b, 0x4458, \
  25.     { 0xaa, 0x24, 0xaa, 0x53, 0x33, 0x47, 0x6e, 0xff }}
  26.  
  27. /**
  28.  * \addtogroup rendering_backend_interfaces Rendering Backend Interfaces
  29.  * @{
  30.  */
  31. /**
  32.  * Describes a 'path geometry' object in the SVG rendering backend,
  33.  * i.e. a graphical object composed of lines, Bezier curves and
  34.  * elliptical arcs, that can be stroked and filled. The rendering
  35.  * backend maintains an object implementing this interface for each
  36.  * rendering engine-native path geometry object.
  37.  *
  38.  * An engine-native path geometry object will be informed of changes
  39.  * in a path geometry's description with a call to its
  40.  * nsISVGRendererPathGeometry::update() method with an OR-ed
  41.  * combination of the UPDATEMASK_* constants defined in this interface
  42.  * (and its base-interface).
  43.  *
  44.  * @nosubgrouping
  45.  */
  46. class NS_NO_VTABLE nsISVGPathGeometrySource : public nsISVGGeometrySource {
  47.  public: 
  48.  
  49.   NS_DEFINE_STATIC_IID_ACCESSOR(NS_ISVGPATHGEOMETRYSOURCE_IID)
  50.  
  51.   /**
  52.    * @name Path description
  53.    * @{
  54.    */
  55. /**
  56.    * Write a description of the path to the 'pathBuilder'.
  57.    *
  58.    * @param pathBuilder Object to write path description to.
  59.    */
  60.   /* void constructPath (in nsISVGRendererPathBuilder pathBuilder); */
  61.   NS_IMETHOD ConstructPath(nsISVGRendererPathBuilder *pathBuilder) = 0;
  62.  
  63.   enum { UPDATEMASK_PATH = 32768U };
  64.  
  65.   /** @} */
  66. /**
  67.    * @name Hittest mode of operation
  68.    * @{
  69.    */
  70.   enum { HITTEST_MASK_FILL = 1U };
  71.  
  72.   enum { HITTEST_MASK_STROKE = 2U };
  73.  
  74.   /**
  75.    * Determines mode of operation expected of the
  76.    * nsISVGRendererPathGeometry::containsPoint() method.  A
  77.    * combination of the 'HITTEST_MASK_*' constants defined in this
  78.    * interface.
  79.    */
  80.   /* readonly attribute unsigned short hittestMask; */
  81.   NS_IMETHOD GetHittestMask(PRUint16 *aHittestMask) = 0;
  82.  
  83.   enum { UPDATEMASK_HITTEST_MASK = 65536U };
  84.  
  85.   /** @} */
  86. /**
  87.    * @name Shape rendering hints
  88.    * @{
  89.    */
  90.   enum { SHAPE_RENDERING_AUTO = 0U };
  91.  
  92.   enum { SHAPE_RENDERING_OPTIMIZESPEED = 1U };
  93.  
  94.   enum { SHAPE_RENDERING_CRISPEDGES = 2U };
  95.  
  96.   enum { SHAPE_RENDERING_GEOMETRICPRECISION = 3U };
  97.  
  98.   /* readonly attribute unsigned short shapeRendering; */
  99.   NS_IMETHOD GetShapeRendering(PRUint16 *aShapeRendering) = 0;
  100.  
  101. };
  102.  
  103. /* Use this macro when declaring classes that implement this interface. */
  104. #define NS_DECL_NSISVGPATHGEOMETRYSOURCE \
  105.   NS_IMETHOD ConstructPath(nsISVGRendererPathBuilder *pathBuilder); \
  106.   NS_IMETHOD GetHittestMask(PRUint16 *aHittestMask); \
  107.   NS_IMETHOD GetShapeRendering(PRUint16 *aShapeRendering); 
  108.  
  109. /* Use this macro to declare functions that forward the behavior of this interface to another object. */
  110. #define NS_FORWARD_NSISVGPATHGEOMETRYSOURCE(_to) \
  111.   NS_IMETHOD ConstructPath(nsISVGRendererPathBuilder *pathBuilder) { return _to ConstructPath(pathBuilder); } \
  112.   NS_IMETHOD GetHittestMask(PRUint16 *aHittestMask) { return _to GetHittestMask(aHittestMask); } \
  113.   NS_IMETHOD GetShapeRendering(PRUint16 *aShapeRendering) { return _to GetShapeRendering(aShapeRendering); } 
  114.  
  115. /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
  116. #define NS_FORWARD_SAFE_NSISVGPATHGEOMETRYSOURCE(_to) \
  117.   NS_IMETHOD ConstructPath(nsISVGRendererPathBuilder *pathBuilder) { return !_to ? NS_ERROR_NULL_POINTER : _to->ConstructPath(pathBuilder); } \
  118.   NS_IMETHOD GetHittestMask(PRUint16 *aHittestMask) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetHittestMask(aHittestMask); } \
  119.   NS_IMETHOD GetShapeRendering(PRUint16 *aShapeRendering) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetShapeRendering(aShapeRendering); } 
  120.  
  121. #if 0
  122. /* Use the code below as a template for the implementation class for this interface. */
  123.  
  124. /* Header file */
  125. class nsSVGPathGeometrySource : public nsISVGPathGeometrySource
  126. {
  127. public:
  128.   NS_DECL_ISUPPORTS
  129.   NS_DECL_NSISVGPATHGEOMETRYSOURCE
  130.  
  131.   nsSVGPathGeometrySource();
  132.  
  133. private:
  134.   ~nsSVGPathGeometrySource();
  135.  
  136. protected:
  137.   /* additional members */
  138. };
  139.  
  140. /* Implementation file */
  141. NS_IMPL_ISUPPORTS1(nsSVGPathGeometrySource, nsISVGPathGeometrySource)
  142.  
  143. nsSVGPathGeometrySource::nsSVGPathGeometrySource()
  144. {
  145.   /* member initializers and constructor code */
  146. }
  147.  
  148. nsSVGPathGeometrySource::~nsSVGPathGeometrySource()
  149. {
  150.   /* destructor code */
  151. }
  152.  
  153. /* void constructPath (in nsISVGRendererPathBuilder pathBuilder); */
  154. NS_IMETHODIMP nsSVGPathGeometrySource::ConstructPath(nsISVGRendererPathBuilder *pathBuilder)
  155. {
  156.     return NS_ERROR_NOT_IMPLEMENTED;
  157. }
  158.  
  159. /* readonly attribute unsigned short hittestMask; */
  160. NS_IMETHODIMP nsSVGPathGeometrySource::GetHittestMask(PRUint16 *aHittestMask)
  161. {
  162.     return NS_ERROR_NOT_IMPLEMENTED;
  163. }
  164.  
  165. /* readonly attribute unsigned short shapeRendering; */
  166. NS_IMETHODIMP nsSVGPathGeometrySource::GetShapeRendering(PRUint16 *aShapeRendering)
  167. {
  168.     return NS_ERROR_NOT_IMPLEMENTED;
  169. }
  170.  
  171. /* End of implementation class template. */
  172. #endif
  173.  
  174.  
  175. #endif /* __gen_nsISVGPathGeometrySource_h__ */
  176.